package com.ruoyi.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.Category;
import com.ruoyi.system.domain.vo.*;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface CategoryService {
    List<Category> getCategoryTree();
    Category getCategoryById(Long id);

    // 新增分类
    @Transactional
    void addCategory(Category category);

    void updateCategory(Category category);
    void deleteCategory(Long id);

    void handleOperation(OperationVO vo);

    Page<ComingOutVO> comingOutLog(ComingOutLogRequest request);

    List<CategorySearchResult> searchCategories(String keyword);

    List<ComingOutVO> getComingOutLogForExport(ComingOutLogQueryParam params);
}
